A relational database management system (DBMS) allows entities to be modeled according to the relational paradigm, where entities are modeled in terms of tables with columns and rows. An object-relational DBMS allows entities to be modeled according to the object-oriented paradigm, where entities are modeled as instances of an object class.
An object class is associated with one or more attributes and zero or more methods. These attributes may be include primitive data types, other object classes, or collections.
Object classes are defined by database metadata. The database metadata may be created in response to commands issued by a user defining the object classes. In this way, the attributes of an object class may be specified by a user.
Instances of an object class are known as “objects”. Each object contains values for its attributes. The values of the attributes are collectively referred to as the object's state. Each object that is an instance of a particular object class has the same attributes. The methods associated with an object (i.e., methods associated with the object class of the object) operate upon the state of an object. Methods associated with an object class may also be referred to herein as routines.